keyPrefix, label, 사용/폐기 상태 표시401 UnauthorizedGET /api/bot/page/*name으로 페이지 읽기POST /api/bot/page/*name으로 페이지 저장409 Conflict403 Forbiddenname, revision, dateTime, isMinorEdit, viaApi, content hash를 반환revision, dateTime, hash를 한 번에 조회lastSyncedAt, page별 revision, dateTime, contentHash를 기록conf/routes, app/controllers/BotApi.scala, test/com/aha00a/controllers/BotApiSpec.scala, BotApiBotApiSpec를 실행한다.sbt.bat "testOnly com.aha00a.controllers.BotApiSpec"에서 18개 테스트 통과./api/bot/changes의 afterRevision이 전체 sync cursor로 오용되지 않도록 제한하고 문서화한다.changes의 since, afterRevision, includeMinorEdit, invalid since 테스트를 보강한다.wikiTableSimple 테이블 스타일로 정리minorEdit와 viaApi 저장을 제외한다.Similar pages by cosine similarity. Words after page name are term frequency.